Programming a circuit via an electronic fuse (e-fuse) offers several advantages over traditional laser-blown fuse methodologies. First, e-fuses are substantially smaller than laser fuses. Second, an e-fuse can be blown by a logic process, instead of a laser ablation process that could damage adjacent devices. Third, the blowing of an e-fuse does not require any special equipment or a separate product flow, which is beneficial because contamination problems have been encountered when wafers leave the clean room environment (a separate product flow) for fuse programming on laser fuse equipment, and then returned for final passivation.
In general, the programming of an e-fuse involves applying a substantially high voltage or current to open a fuse element (in alternating current (AC) or direct current (DC) mode) within an integrated circuit. The programming of an e-fuse does not involve a physical rupture of the fuse element. E-fuse technology has become increasingly popular in semiconductor designs for yield improvement, circuit configuration, security activation and many other applications.
One limitation of conventional e-fuse technology is that only one-time programmability is permitted. Namely, once the fuse is blown the circuit is programmed, and it is no longer possible to restore the circuit back to its original state (reprogram the circuit) using the same e-fuse programming mechanism. However, in certain applications, having programming and reprogramming capabilities (similar to those provided by nonvolatile random access memory (NVRAM) devices) is desirable.
One technique that has been used to overcome this limitation is to incorporate anti-fuse components on the same chip. When it is necessary to reprogram a circuit, one or more anti-fuse elements are activated to reconnect the circuits. U.S. Pat. No. 5,412,593, issued to Magel et al., entitled “Fuse and Antifuse Reprogrammable Link for Integrated Circuits,” discloses a fuse element that can be programmed initially, and an anti-fuse element that can be programmed in a second step to reverse the initial programming. This approach, however, involves two different programming technologies with extra fabrication steps, different programming set-ups and complicated layout designs.
In U.S. Pat. No. 5,966,339, issued to Hsu et al., entitled “Programmable/Reprogrammable Fuse,” a method is described to repeatedly program and re-program a fuse circuit. Specifically, for N fuse links and N exclusive-ORs, the fuse arrangement thus formed can be reprogrammed a total of N times by sequentially blowing one fuse link at a time. In addition to the number of XOR circuit components, this method also requires one set of fuse programming and sensing circuits for each stage, because after the fuse is blown, a sensing circuit is needed to sense and output the programmed state to an XOR gate for processing.
In U.S. Pat. No. 7,200,064, issued to Boerstler et al., entitled “Apparatus and Method for Providing a Reprogrammable Electrically Programmable Fuse,” a pair of e-fuses is connected to programming and sensing current sources. When the pair of e-fuses is to be programmed, a first programming current is applied to a first e-fuse to increase the resistance of the first e-fuse by an incremental amount. When the pair of e-fuses is to be returned to an unprogrammed state, a second programming current source is applied to a second e-fuse to increase the resistance of the second e-fuse to be greater than the resistance of the first e-fuse. When the sensing current is applied to the e-fuses, a difference in the resulting voltages across the e-fuses is identified and used to indicate whether the e-fuse is in a programmed state or an unprogrammed state. This process however only allows two-time programming, from the state of 0 to 1, and back to 0. Furthermore, due to a wide range of resistance variation after electromigration, it may be difficult to control the resistance of the second e-fuse to be greater than the first e-fuse after reprogramming.
Therefore, improved techniques for providing multi-programmability in an e-fuse system to facilitate repeatable circuit and code configuration would be desirable.